<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Reference</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../move.html" title="Chapter 22. Boost.Move">
<link rel="prev" href="release_notes.html" title="Release Notes">
<link rel="next" href="../doxygen/namespaceboost_1a52b192e62544c7fb8f988a4918911f8b.html" title="Function template adl_move_swap">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
<td align="center"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../doxygen/namespaceboost_1a52b192e62544c7fb8f988a4918911f8b.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="move.reference"></a>Reference</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="reference.html#doxygen.adl__move__swap_8hpp">Header &lt;boost/move/adl_move_swap.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.adaptive__merge_8hpp">Header &lt;boost/move/algo/adaptive_merge.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.adaptive__sort_8hpp">Header &lt;boost/move/algo/adaptive_sort.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.predicate_8hpp">Header &lt;boost/move/algo/predicate.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.unique_8hpp">Header &lt;boost/move/algo/unique.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.algorithm_8hpp">Header &lt;boost/move/algorithm.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.core_8hpp">Header &lt;boost/move/core.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.default__delete_8hpp">Header &lt;boost/move/default_delete.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.iterator_8hpp">Header &lt;boost/move/iterator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.make__unique_8hpp">Header &lt;boost/move/make_unique.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.algo_2move_8hpp">Header &lt;boost/move/algo/move.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.move_8hpp">Header &lt;boost/move/move.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.traits_8hpp">Header &lt;boost/move/traits.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.unique__ptr_8hpp">Header &lt;boost/move/unique_ptr.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.utility_8hpp">Header &lt;boost/move/utility.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#doxygen.utility__core_8hpp">Header &lt;boost/move/utility_core.hpp&gt;</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.adl__move__swap_8hpp"></a>Header &lt;<a href="../../../boost/move/adl_move_swap.hpp" target="_top">boost/move/adl_move_swap.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="../doxygen/namespaceboost_1a52b192e62544c7fb8f988a4918911f8b.html" title="Function template adl_move_swap"><span class="identifier">adl_move_swap</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ForwardIt1<span class="special">,</span> <span class="keyword">typename</span> ForwardIt2<span class="special">&gt;</span> 
    <span class="identifier">ForwardIt2</span> <a class="link" href="../doxygen/namespaceboost_1a125e6ca87c8a9c16443b14739c84db51.html" title="Function template adl_move_swap_ranges"><span class="identifier">adl_move_swap_ranges</span></a><span class="special">(</span><span class="identifier">ForwardIt1</span><span class="special">,</span> <span class="identifier">ForwardIt1</span><span class="special">,</span> <span class="identifier">ForwardIt2</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> BidirIt1<span class="special">,</span> <span class="keyword">typename</span> BidirIt2<span class="special">&gt;</span> 
    <span class="identifier">BidirIt2</span> <a name="doxygen.namespaceboost_1ac2172c9e9f5ebce6525261356d582219"></a><span class="identifier">adl_move_swap_ranges_backward</span><span class="special">(</span><span class="identifier">BidirIt1</span> first1<span class="special">,</span> <span class="identifier">BidirIt1</span> last1<span class="special">,</span> 
                                           <span class="identifier">BidirIt2</span> last2<span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ForwardIt1<span class="special">,</span> <span class="keyword">typename</span> ForwardIt2<span class="special">&gt;</span> 
    <span class="keyword">void</span> <a name="doxygen.namespaceboost_1afcc95d43fe6cc0b4ce723639a5cc9d06"></a><span class="identifier">adl_move_iter_swap</span><span class="special">(</span><span class="identifier">ForwardIt1</span> a<span class="special">,</span> <span class="identifier">ForwardIt2</span> b<span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.adaptive__merge_8hpp"></a>Header &lt;<a href="../../../boost/move/algo/adaptive_merge.hpp" target="_top">boost/move/algo/adaptive_merge.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> RandIt<span class="special">,</span> <span class="keyword">typename</span> Compare<span class="special">&gt;</span> 
      <span class="keyword">void</span> <a class="link" href="../doxygen/adaptive__merge_8hpp_1a12aa1712602005b52a4ebd93f723e23f.html" title="Function template adaptive_merge"><span class="identifier">adaptive_merge</span></a><span class="special">(</span><span class="identifier">RandIt</span><span class="special">,</span> <span class="identifier">RandIt</span><span class="special">,</span> <span class="identifier">RandIt</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> 
                          <span class="keyword">typename</span> <span class="identifier">iterator_traits</span><span class="special">&lt;</span> <span class="identifier">RandIt</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">value_type</span> <span class="special">*</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> 
                          <span class="keyword">typename</span> <span class="identifier">iter_size</span><span class="special">&lt;</span> <span class="identifier">RandIt</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.adaptive__sort_8hpp"></a>Header &lt;<a href="../../../boost/move/algo/adaptive_sort.hpp" target="_top">boost/move/algo/adaptive_sort.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> RandIt<span class="special">,</span> <span class="keyword">typename</span> RandRawIt<span class="special">,</span> <span class="keyword">typename</span> Compare<span class="special">&gt;</span> 
      <span class="keyword">void</span> <a class="link" href="../doxygen/adaptive__sort_8hpp_1a4bdb57913b566ac0d943797d9812ec8e.html" title="Function template adaptive_sort"><span class="identifier">adaptive_sort</span></a><span class="special">(</span><span class="identifier">RandIt</span><span class="special">,</span> <span class="identifier">RandIt</span><span class="special">,</span> <span class="identifier">Compare</span><span class="special">,</span> <span class="identifier">RandRawIt</span><span class="special">,</span> 
                         <span class="keyword">typename</span> <span class="identifier">iter_size</span><span class="special">&lt;</span> <span class="identifier">RandIt</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> RandIt<span class="special">,</span> <span class="keyword">typename</span> Compare<span class="special">&gt;</span> 
      <span class="keyword">void</span> <a name="doxygen.adaptive__sort_8hpp_1aec902180f4f0a1b253f1808d4a1e0644"></a><span class="identifier">adaptive_sort</span><span class="special">(</span><span class="identifier">RandIt</span> first<span class="special">,</span> <span class="identifier">RandIt</span> last<span class="special">,</span> <span class="identifier">Compare</span> comp<span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.predicate_8hpp"></a>Header &lt;<a href="../../../boost/move/algo/predicate.hpp" target="_top">boost/move/algo/predicate.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Comp<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1movelib_1_1antistable.html" title="Struct template antistable">antistable</a><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Comp<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1inverse.html" title="Class template inverse">inverse</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Comp<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1negate.html" title="Class template negate">negate</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Comp<span class="special">&gt;</span> <span class="identifier">Comp</span> <a name="doxygen.predicate_8hpp_1a45357a999137aed9e38e0d8331dcee4d"></a><span class="identifier">unantistable</span><span class="special">(</span><span class="identifier">Comp</span> comp<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Comp<span class="special">&gt;</span> <span class="identifier">Comp</span> <a name="doxygen.predicate_8hpp_1a5c9cbea2b14948dd72928109adb71d60"></a><span class="identifier">unantistable</span><span class="special">(</span><span class="identifier">antistable</span><span class="special">&lt;</span> <span class="identifier">Comp</span> <span class="special">&gt;</span> comp<span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.unique_8hpp"></a>Header &lt;<a href="../../../boost/move/algo/unique.hpp" target="_top">boost/move/algo/unique.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../ForwardIterator.html" title="Concept ForwardIterator">ForwardIterator</a><span class="special">,</span> <span class="keyword">typename</span> BinaryPredicate<span class="special">&gt;</span> 
      <span class="identifier">ForwardIterator</span> 
      <a class="link" href="../doxygen/unique_8hpp_1a469a213919793bf2c9059ae2ea3450e2.html" title="Function template unique"><span class="identifier">unique</span></a><span class="special">(</span><span class="identifier">ForwardIterator</span><span class="special">,</span> <span class="identifier">ForwardIterator</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.algorithm_8hpp"></a>Header &lt;<a href="../../../boost/move/algorithm.hpp" target="_top">boost/move/algorithm.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</span> 
    <span class="identifier">F</span> <a name="doxygen.namespaceboost_1a6e01d1e1d8042ecc17c78d1a8c1450f2"></a><span class="identifier">uninitialized_copy_or_move</span><span class="special">(</span><span class="identifier">I</span> f<span class="special">,</span> <span class="identifier">I</span> l<span class="special">,</span> <span class="identifier">F</span> r<span class="special">,</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</span> 
    <span class="identifier">F</span> <a name="doxygen.namespaceboost_1a1b24bf795a0ec4b74060a80df85ad76f"></a><span class="identifier">copy_or_move</span><span class="special">(</span><span class="identifier">I</span> f<span class="special">,</span> <span class="identifier">I</span> l<span class="special">,</span> <span class="identifier">F</span> r<span class="special">,</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</span> <span class="identifier">F</span> <a class="link" href="../doxygen/namespaceboost_1afeaf90ab00273ded56d32713381245dc.html" title="Function template uninitialized_copy_or_move"><span class="identifier">uninitialized_copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</span> <span class="identifier">F</span> <a class="link" href="../doxygen/namespaceboost_1a80e0d06556de096fb1441f5da4355c4e.html" title="Function template copy_or_move"><span class="identifier">copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.core_8hpp"></a>Header &lt;<a href="../../../boost/move/core.hpp" target="_top">boost/move/core.hpp</a>&gt;</h3></div></div></div>
<p>This header implements macros to define movable classes and move-aware functions </p>
<pre class="synopsis">

<a class="link" href="../doxygen/core_8hpp_1a358a85a0713b80c331742612dae0367f.html" title="Macro BOOST_MOVABLE_BUT_NOT_COPYABLE">BOOST_MOVABLE_BUT_NOT_COPYABLE</a>(TYPE)
<a class="link" href="../doxygen/core_8hpp_1a2a021821de2147094b325d6849767f1c.html" title="Macro BOOST_COPYABLE_AND_MOVABLE">BOOST_COPYABLE_AND_MOVABLE</a>(TYPE)
<a class="link" href="../doxygen/core_8hpp_1a41dbf698e587e2adc7f518a2b8625436.html" title="Macro BOOST_RV_REF">BOOST_RV_REF</a>(TYPE)
<a class="link" href="../doxygen/core_8hpp_1aa8d981a36b56073831603aef6120652e.html" title="Macro BOOST_RV_REF_BEG">BOOST_RV_REF_BEG</a>
<a class="link" href="../doxygen/core_8hpp_1a1e4ac6029f371438042b6e6abdbc3124.html" title="Macro BOOST_RV_REF_END">BOOST_RV_REF_END</a>
<a class="link" href="../doxygen/core_8hpp_1a3a33a2f3b6add665b5897a10c5e481d2.html" title="Macro BOOST_RV_REF_BEG_IF_CXX11">BOOST_RV_REF_BEG_IF_CXX11</a>
<a class="link" href="../doxygen/core_8hpp_1abfa9516be94a3d8a740a92aed6b8f0f1.html" title="Macro BOOST_RV_REF_END_IF_CXX11">BOOST_RV_REF_END_IF_CXX11</a>
<a class="link" href="../doxygen/core_8hpp_1a37936e2bbaac51d9868f9274fb648d32.html" title="Macro BOOST_COPY_ASSIGN_REF">BOOST_COPY_ASSIGN_REF</a>(TYPE)
<a class="link" href="../doxygen/core_8hpp_1a12ca6cade8db3b19f8be8cfdc0b0da3d.html" title="Macro BOOST_FWD_REF">BOOST_FWD_REF</a>(TYPE)
<a class="link" href="../doxygen/core_8hpp_1ab582644b3621ae7776dfb96e9f1d9748.html" title="Macro BOOST_MOVE_RET">BOOST_MOVE_RET</a>(RET_TYPE, REF)
<a class="link" href="../doxygen/core_8hpp_1aa2f08196120b1b5f09f240ef498ebd7f.html" title="Macro BOOST_MOVE_BASE">BOOST_MOVE_BASE</a>(BASE_TYPE, ARG)
<a class="link" href="../doxygen/core_8hpp_1ab5121b990a0bd5b35e62ab4d2341705c.html" title="Macro BOOST_MOVE_TO_LV">BOOST_MOVE_TO_LV</a>(ARG)</pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1has__move__emulation__disabled.html" title="Struct template has_move_emulation_disabled">has_move_emulation_disabled</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1has__move__emulation__enabled.html" title="Struct template has_move_emulation_enabled">has_move_emulation_enabled</a><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.default__delete_8hpp"></a>Header &lt;<a href="../../../boost/move/default_delete.hpp" target="_top">boost/move/default_delete.hpp</a>&gt;</h3></div></div></div>
<p>Describes the default deleter (destruction policy) of <code class="computeroutput">unique_ptr</code>: <code class="computeroutput">default_delete</code>. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1movelib_1_1default__delete.html" title="Struct template default_delete">default_delete</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.iterator_8hpp"></a>Header &lt;<a href="../../../boost/move/iterator.hpp" target="_top">boost/move/iterator.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1back__move__insert__iterator.html" title="Class template back_move_insert_iterator">back_move_insert_iterator</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1front__move__insert__iterator.html" title="Class template front_move_insert_iterator">front_move_insert_iterator</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1move__insert__iterator.html" title="Class template move_insert_iterator">move_insert_iterator</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> It<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1move__iterator.html" title="Class template move_iterator">move_iterator</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> It<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1move__iterator.html" title="Class template move_iterator">move_iterator</a><span class="special">&lt;</span> <span class="identifier">It</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/namespaceboost_1af2637dcec16edfa8b7bf185cebadc657.html" title="Function template make_move_iterator"><span class="identifier">make_move_iterator</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">It</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1back__move__insert__iterator.html" title="Class template back_move_insert_iterator">back_move_insert_iterator</a><span class="special">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/namespaceboost_1aa332be800ce00578cc58b733d14854c1.html" title="Function template back_move_inserter"><span class="identifier">back_move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> 
    <a class="link" href="../doxygen/classboost_1_1front__move__insert__iterator.html" title="Class template front_move_insert_iterator">front_move_insert_iterator</a><span class="special">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/namespaceboost_1aaa9fd82eaf9ad27da185b979868a06ec.html" title="Function template front_move_inserter"><span class="identifier">front_move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> 
    <span class="identifier">move_insert_iterator</span><span class="special">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/namespaceboost_1aebfa9f094762fa7e221367f45dbd0582.html" title="Function template move_inserter"><span class="identifier">move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.make__unique_8hpp"></a>Header &lt;<a href="../../../boost/move/make_unique.hpp" target="_top">boost/move/make_unique.hpp</a>&gt;</h3></div></div></div>
<p>Defines "make_unique" functions, which are factories to create instances of unique_ptr depending on the passed arguments.</p>
<p>This header can be a bit heavyweight in C++03 compilers due to the use of the preprocessor library, that's why it's a a separate header from <code class="computeroutput"><a class="link" href="reference.html#doxygen.unique__ptr_8hpp" title="Header &lt;boost/move/unique_ptr.hpp&gt;">unique_ptr.hpp</a></code> </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> 
      <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1a49e01e1e98d125b30d33a520fcc73876.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> 
      <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1ae5f7657c8706d4ffa37ef3904e6ab854.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1a529b94e81ced1c3c5188d77ffd2bc1a0.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1ac9db3f4ed9cdeb97c4c022a911fad1d7.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1ac7ec23667528afdd486d4e7ab9113874.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1ac2a87d112af8c9965be0a20d1e7e1ca1.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1aa1781495083017dcfb07cb6c761d15f3.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../doxygen/make__unique_8hpp_1adb84cc50546883826f14fa54c06dfbf4.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> <span class="identifier">unspecified</span> <a class="link" href="../doxygen/make__unique_8hpp_1a3bab6063e98f3b0010bd2d75b7f56663.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> 
      <span class="identifier">unspecified</span> <a class="link" href="../doxygen/make__unique_8hpp_1a687d8071c8acc98ca5c3beda2623a39f.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> 
      <span class="identifier">unspecified</span> <a class="link" href="../doxygen/make__unique_8hpp_1adeaf79eff8a3b7dd6981c4796cd467d9.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> 
      <span class="identifier">unspecified</span> <a class="link" href="../doxygen/make__unique_8hpp_1aaca69a8b3e91b9fd5e9cb0fa998e992d.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.algo_2move_8hpp"></a>Header &lt;<a href="../../../boost/move/algo/move.hpp" target="_top">boost/move/algo/move.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">&gt;</span> <span class="identifier">O</span> <a class="link" href="../doxygen/namespaceboost_1aa745d64b580e12d06b1a28c9ff09a81d.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">&gt;</span> <span class="identifier">O</span> <a class="link" href="../doxygen/namespaceboost_1aeebb703aa304e4f9543ff790828b9a3c.html" title="Function template move_backward"><span class="identifier">move_backward</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</span> <span class="identifier">F</span> <a class="link" href="../doxygen/namespaceboost_1aa154babb1903b8b411f0bc5f2488590b.html" title="Function template uninitialized_move"><span class="identifier">uninitialized_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.move_8hpp"></a>Header &lt;<a href="../../../boost/move/move.hpp" target="_top">boost/move/move.hpp</a>&gt;</h3></div></div></div>
<p>A general library header that includes the rest of top-level headers. </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.traits_8hpp"></a>Header &lt;<a href="../../../boost/move/traits.hpp" target="_top">boost/move/traits.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1has__nothrow__move.html" title="Struct template has_nothrow_move">has_nothrow_move</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1has__trivial__destructor__after__move.html" title="Struct template has_trivial_destructor_after_move">has_trivial_destructor_after_move</a><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.unique__ptr_8hpp"></a>Header &lt;<a href="../../../boost/move/unique_ptr.hpp" target="_top">boost/move/unique_ptr.hpp</a>&gt;</h3></div></div></div>
<p>Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, usable also from C++03 compilers.</p>
<p>Main differences from std::unique_ptr to avoid heavy dependencies, specially in C++03 compilers:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><code class="computeroutput">operator &lt; </code> uses pointer <code class="computeroutput">operator &lt; </code>instead of <code class="computeroutput">std::less&lt;common_type&gt;</code>. This avoids dependencies on <code class="computeroutput">std::common_type</code> and <code class="computeroutput">std::less</code> (<code class="computeroutput">&lt;type_traits&gt;/&lt;functional&gt;</code> headers). In C++03 this avoid pulling Boost.Typeof and other cascading dependencies. As in all Boost platforms <code class="computeroutput">operator &lt;</code> on raw pointers and other smart pointers provides strict weak ordering in practice this should not be a problem for users.</p></li>
<li class="listitem"><p>assignable from literal 0 for compilers without nullptr</p></li>
<li class="listitem"><p><code class="computeroutput">unique_ptr&lt;T[]&gt;</code> is constructible and assignable from <code class="computeroutput">unique_ptr&lt;U[]&gt;</code> if cv-less T and cv-less U are the same type and T is more CV qualified than U. </p></li>
</ul></div>
<p>
</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D <span class="special">=</span> <span class="identifier">default_delete</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">void</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a8cd580734b87cf062a9a5669221eaaad.html" title="Function template swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a0823826cacb5a394616f2762a50cb19d.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                      <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a034c9e5d69293cf93a9074e50eefdafc.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                      <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a2dbc0b8d82718d0d444258a4ff088aa3.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                     <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a8daaec565fdaef0b4b00ec48dbe9b594.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                      <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1ac7ba889b402d0cf357c8c711b5a531c8.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                     <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1aff1f954f6073a8c640dec86992960af2.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> 
                      <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1aca603b2b0f2c8a4dd4ac9c4990d2d4cf.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1ac95e767f9ae259c8a0b137b623d9b24f.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1aaf69de74cb2237384116d5152d750370.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1ab5b836d0fa8d7f84fa4744c60386606f.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1ac81bab8d263bb33e32dee4723c7f0899.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1abbfad3487342ca39450ca1c1085620bd.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a28047aa0c58ce91ec6b28b1b565d165f.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a3449063a43a8620cc75253fa2cf37826.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1ac4aaf6c83ccd3f5b3c057916d6d5af3c.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1aa3706ec1441fe9ad102bd30e7e2db7ab.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a85ba13ddd18091ec3c9c0c715d39099d.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> 
      <span class="keyword">bool</span> <a class="link" href="../doxygen/unique__ptr_8hpp_1a336aaafff7d2d82f65da308038b9579f.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../doxygen/classboost_1_1movelib_1_1unique__ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.utility_8hpp"></a>Header &lt;<a href="../../../boost/move/utility.hpp" target="_top">boost/move/utility.hpp</a>&gt;</h3></div></div></div>
<p>This header includes core utilities from <code class="computeroutput">&lt;<a class="link" href="reference.html#doxygen.utility__core_8hpp" title="Header &lt;boost/move/utility_core.hpp&gt;">boost/move/utility_core.hpp</a>&gt;</code> and defines some more advanced utilities such as: </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
    <span class="identifier">rvalue_reference_or_const_lvalue_reference</span> 
    <a class="link" href="../doxygen/namespaceboost_1a23dea2f7e25998d34f06f30da0932f08.html" title="Function template move_if_noexcept"><span class="identifier">move_if_noexcept</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="doxygen.utility__core_8hpp"></a>Header &lt;<a href="../../../boost/move/utility_core.hpp" target="_top">boost/move/utility_core.hpp</a>&gt;</h3></div></div></div>
<p>This header defines core utilities to ease the development of move-aware functions. This header minimizes dependencies from other libraries. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../doxygen/structboost_1_1enable__move__utility__emulation.html" title="Struct template enable_move_utility_emulation">enable_move_utility_emulation</a><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">rvalue_reference</span> <a class="link" href="../doxygen/namespaceboost_1afea094bc29f91eaa54e99510e1079ef2.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">output_reference</span> <a class="link" href="../doxygen/namespaceboost_1a785d436bd44bf1232bbce76166cc7499.html" title="Function template forward"><span class="identifier">forward</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
    <span class="identifier">output_reference</span> <a class="link" href="../doxygen/namespaceboost_1ac0925183928c23b8dfe9ef5222aa2c25.html" title="Function template move_if_not_lvalue_reference"><span class="identifier">move_if_not_lvalue_reference</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span></pre>
</div>
</div>
<div class="copyright-footer">Copyright © 2008-2024 Ion Gaztanaga<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../doxygen/namespaceboost_1a52b192e62544c7fb8f988a4918911f8b.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
